import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'

// 引入多个模块的规则
import backStageRouter from './modules/backStage';
import enterpriseRouter from './modules/enterprise';
import testingRouter from './modules/testing';
import subjectManagementRouter from './modules/subjectManagement';
import interviewSkillRouter from './modules/interviewSkill';


export const constantRoutes = [{
            path: '/login',
            component: () =>
                import ('@/views/login/index'),
            hidden: true
        },

        {
            path: '/404',
            component: () =>
                import ('@/views/404'),
            hidden: true
        },

        {
            path: '/',
            component: Layout,
            redirect: '/dashboard',
            children: [{
                path: 'dashboard',
                name: 'dashboard',
                component: () =>
                    import ('@/views/dashboard/index'),
                meta: { title: '数据概览', icon: 'dashboard' }
            }]
        },
        { path: '*', redirect: '/404', hidden: true }
    ]
    // 定义动态路由：

// 定义动态路由
export const asyncRoutes = [
    backStageRouter,
    enterpriseRouter,
    testingRouter,
    subjectManagementRouter,
    interviewSkillRouter
];
const createRouter = () => new Router({
    // mode: 'history', // require service support
    scrollBehavior: () => ({ y: 0 }),
    routes: [...constantRoutes, ...asyncRoutes]
})

const router = createRouter()

export function resetRouter() {
    const newRouter = createRouter()
    router.matcher = newRouter.matcher // reset router
}

export default router